1. Field
Exemplary embodiments broadly relate to a network function virtualization (NFV) technology, and more particularly, to a method and an apparatus for network function virtualization, which shares a virtual network function (VNF) component in a NFV environment.
2. Description of the Related Art
As Internet is being used more and more, structural problems such as mobility, security, limit in quality guarantee or the like, inherent in the Internet have emerged. To solve the problems, it is demanded to construct a future-oriented network service infrastructure which may allow various future application services to be used rapidly and safely. In this regard, a network function virtualization (NFV) technique is being developed.
The network function virtualization (NFV) is a technique for virtualizing a network function in a software way to control and manage the network function. The NFV separates various functions in the network equipment used by communication service providers and virtualizes the functions to be controlled and managed in a software way. The NFV may be implemented in various ways, and generally, various functions in the network equipment are separated into a large-capacity server, a large-capacity storage device, and a large-capacity switch, located in a data center, so that they may be accessed in a standard way. In addition, a network structure which may allow network functions developed in a software way to be automatically installed at the above devices, operated, and moved, is constructed.
The great advantage obtained by constructing a NFV-based system is that a server resource based on a general-purpose hardware can be virtualized in the form of a virtual machine (VM) and then the VM may be constructed and extended on demand as the quantity of consumed service increases. By doing so, in the fixed communication market, a communication service provider may reduce investment costs in view of CAPEX (Capital Expenditure) and OPEX (Operating Expense) by constructing necessary equipment with the least expense. Further, it is possible to build an environment capable of rapidly coping with various services by means of flexible infrastructure.
On the NFV architecture, a virtual network function (VNF) instance means a network function developed as software for supporting various application programs. For example, the VNF instance may be a media resource function (MRF), a call session control function (CSCF), a home subscriber server (HSS), a packet gateway (P-GW) or the like. In the VNF instance, VNF components which are internal components thereof are assembled to give a VNF service.
For example, when a database system is virtualized, the database system may be briefly composed of three VNF components, namely a VNF component serving as a data server, a VNF component serving as an element manager, and a VNF component serving as a metadata server. The VNF component serving as a data server plays a role of actually storing and managing data, and the VNF component serving as an element manager plays a role of monitoring states of the data server and the metadata server. Also, the VNF component serving as a metadata server manages metadata for the stored data.
Assuming that a network virtualization service of a smallest unit is provided, it may be conceived that all components of a database system, namely three VNF components described above, are loaded in a single VM. In case of a commercial service actually used by millions of users, each VNF component may be independently operated at each VM to enhance processing performance. Since VNF components have different roles and different necessary processing performances, resources such as CPU and memory allocated to VMs in a single physical server (cnode) may be different from each other. In case of a database system, a lot of resources may be allocated to a data server which takes charge of storing and processing data, among VNF components.
When a physical hardware malfunction or a hypervisor malfunction occurs at a physical server, all VMs at the corresponding physical server may be exposed to the malfunction situation. Therefore, as shown in FIG. 12, VMs operating the VNF components are distributed to spaces independent from each other physically (POD) and geographically (for example, Hyehwa, Guro or the like), and dualization is also put into consideration. Seeing the database system such as the one described above, like VNF components in the database system, which are physically and geographically distributed, a lot of VNF instances sharing the corresponding database system and VNF components thereof may also be physically and geographically distributed to prepare for a malfunction.
In such a distributed environment, easy communication, which allows a VNF instance to access a VNF component of another VNF instance, is to place a VNF component having a load balancer function serving as a proxy or a gateway to the front of a VNF instance having a VNF component to be shared. By disposing the VNF component having a load balancer function, another VNF instance need not consider logical and physical conditions of the shared VNF components as well as logical states thereof, but this may be effective only when the number of VNF instances and VNF components thereof is small in the NFV environment or when their physical condition does not change much or remains substantially unchanged. When a commercial service is constructed in the NFV environment, if the load balancer is used, the following issues may occur.
First, the malfunction of the load balancer may lead to a malfunction of a shared VNF instance or the entire service. Therefore, physically distributing the load balancer needs to be considered, and in this case, an optimal arrangement of the load balancer and a routing method needs to be determined. In addition, when the load balancer needs to be balanced, numerous VNF instances need to be notified, and distribute the increased number of load balancers in a satisfactory way should be considered. In addition, when a malfunction occurs at the load balancers, a routing method is needed, and also distribution of loads concentrated on a specific load balancer during this process are also needed.
Another problem in the related art occurs when a shared VNF instance gives a state-based (stateful) service. If consistency needs to be provided for a session, the load balancer should consider a previous state when processing data in response to requests received from VNF components of another VNF instance. This is not an easy problem to solve in a NFV environment in which VMs are extended on demands and also a malfunction may occur at a VM.
In the NFV environment, VNF instances from various providers coexist by using standardized hardware and interface. If numerous shared VNF instances giving services to other VNF instances and providers sharing VNF instances for creating profit, independently develop and provide proxy, load balancer, or the like, investment may be overlapped inefficiently, redundant development may occur, and further activation of NFV may be impeded.